#include "Graph_Travel.hpp"
#include <iostream>
using namespace std;
int main() {
    Graph_Travel *pMap = new Graph_Travel(4);
//    Node *pNodeA = new Node('A');
//    Node *pNodeB = new Node('B');
//    Node *pNodeC = new Node('C');
//    Node *pNodeD = new Node('D');
//    Node *pNodeE = new Node('E');
//    Node *pNodeF = new Node('F');
//    Node *pNodeG = new Node('G');
//    Node *pNodeH = new Node('H');
//    pMap->addNode(pNodeA);
//    pMap->addNode(pNodeB);
//    pMap->addNode(pNodeC);
//    pMap->addNode(pNodeD);
//    pMap->addNode(pNodeE);
//    pMap->addNode(pNodeF);
//    pMap->addNode(pNodeG);
//    pMap->addNode(pNodeH);
//    pMap->setValueToMatrixUndirectedGraph(0,1);
//    pMap->setValueToMatrixUndirectedGraph(0,3);
//    pMap->setValueToMatrixUndirectedGraph(1,2);
//    pMap->setValueToMatrixUndirectedGraph(1,5);
//    pMap->setValueToMatrixUndirectedGraph(3,6);
//    pMap->setValueToMatrixUndirectedGraph(3,7);
//    pMap->setValueToMatrixUndirectedGraph(6,7);
//    pMap->setValueToMatrixUndirectedGraph(2,4);
//    pMap->setValueToMatrixUndirectedGraph(4,5);
//    pMap->printMatrix();
//    cout<<"\n";
//    pMap->DFS(0);
    Node *pNodeA = new Node('A');
    Node *pNodeB = new Node('B');
    Node *pNodeC = new Node('C');
    Node *pNodeD = new Node('D');
    pMap->addNode(pNodeA);
    pMap->addNode(pNodeB);
    pMap->addNode(pNodeC);
    pMap->addNode(pNodeD);
    pMap->setValueToMatrixUndirectedGraph(0,1);
    pMap->setValueToMatrixUndirectedGraph(0,2);
    pMap->setValueToMatrixUndirectedGraph(2,3);
    pMap->printMatrix();
    pMap->DFS(0);
    return 0;
}
